package com.baichang.taoshunda.service;

import com.baichang.framework.excelption.ServiceException;
import com.baichang.framework.model.Page;

import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;
import java.util.Map;

/**
 * Created by ${wushenglu} on 2017/8/18 0018.
 */
public interface CarouselService {
    /**
     * 根据城市获取首页轮播图
     *  @param areaId 城市编号
     * @param type
     * @param lat
     * @param lng    @return
     */
    List<Map<String, Object>> getCarouselByCity(Integer areaId, Integer type, String lat, String lng);

    /**
     * 修改商家推荐轮播图
     *
     * @param id
     * @param link
     * @return
     */
    int updateCarousel(Integer id, Integer link);

    /**
     * 修改排名
     *
     * @param id
     * @param orderNum
     * @param sorting
     * @return
     */
    int updateOrderNum(Integer id, Integer orderNum, Integer sorting);

    /**
     * 添加轮播图
     *
     * @param
     * @param
     * @param
     * @param busId
     * @param type
     * @return
     */
    Map<String, Object> addCarousel(Integer busId, Integer type) throws ServiceException;

    /**
     * 查询需要审核的广告位
     *
     * @param businessName
     * @param type
     * @param nowPage
     * @param pageSize
     * @return
     */
    Page queryAuditingCarosuel(String businessName, Integer type, int nowPage, int pageSize);

    /**
     * 轮播图上传图片
     *
     * @param id
     * @param picture
     * @param
     * @return
     */
    int addPicture(Integer id, String picture);

    /**
     * 拒绝审核
     *
     * @param id
     * @return
     */
    int update(Integer id);

    /**
     * 广告位支付调用接口
     *
     * @param id
     * @param busId
     * @param payType
     * @param money
     * @param status
     * @return
     */
    Map<String, Object> payMentMoney(Integer id, Integer busId, Integer payType, BigDecimal money, Integer status);

    /**
     * 轮播图缴费成功调用
     *
     * @param
     * @param id
     * @param busId
     * @param payType
     * @param money
     * @param month
     * @param type
     * @return
     */
    boolean successPaymentMoney(Integer id, Integer busId, Integer payType, BigDecimal money, Integer month, Integer type);

    /**
     * 查询我的轮播图
     *
     * @param busId
     * @param type
     * @return
     */
    Map<String, Object> queryBusCarouselDetails(Integer busId, Integer type) throws ParseException;

    /**
     * 查询同意和拒绝的轮播图
     *
     * @param name
     * @param cityId
     * @param nowPage
     * @param pageSize @return
     */
    Page queryCarousel(String name, Integer cityId, Integer type, int nowPage, int pageSize);

    /**
     * 更换图片
     *
     * @param id
     * @param picture
     * @return
     */
    int replacePicture(Integer id, String picture);

    /**
     * 添加红包轮播图
     *
     * @param busId
     * @return
     */
    Map<String,Object> addRedCarousel(Integer busId) throws ServiceException;

    /**
     * 查询全部的过往记录
     * @param busId
     * @param type
     * @return
     */
    List<Map<String,Object>> queryAllHistory(Integer busId, Integer type);
}
